/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.projet.controllers;
import com.projet.controllers.util.JsfUtil;
import com.projet.entities.Utilisateur;
import com.projet.facades.UtilisateurFacade;
import javax.enterprise.context.SessionScoped;
import java.io.Serializable;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.ViewScoped;

/**
 *
 * @author Oussama
 */
@ManagedBean
@SessionScoped
public class LoginController implements Serializable {

        /**
     * Creates a new instance of LoginController
     */
    @ManagedProperty(value = "#{utilisateurController}")
    private UtilisateurController utilisateurController;

    public void setUtilisateurController(UtilisateurController utilisateurController) {
        this.utilisateurController = utilisateurController;
    }
     public UtilisateurController getUtilisateurController() {
       
        return this.utilisateurController;
    }
    @EJB
    private UtilisateurFacade utilisateurFacade;
    private String UserName;
    private String password;
    private Utilisateur utilisateur;
     public LoginController() {
    }
    public String getUserName() {
        return UserName;
    }

    public void setUserName(String UserName) {
        this.UserName = UserName;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
    public Utilisateur getuser(){
        return utilisateur;
    }
   public String login() {
      utilisateur= utilisateurFacade.findByUserName(UserName);
      if( utilisateur == null){
          JsfUtil.addErrorMessage("user not found");
          //System.out.println("not found");
          return null;
      }else{
          if(!utilisateur.getMotDePasse().equals(this.password)){
              JsfUtil.addErrorMessage("password incorrect");
              //System.out.println("passwd incorr");
              return null;
          }else{
              utilisateurController.setUtilisateur(utilisateur);
              JsfUtil.addSuccessMessage("wellcom ");
              System.out.println(utilisateur.getEmail());
              return "/user/UserHome.xhtml?faces-redirect=true";
          }
       
          
      }
   }
  
    
}
